home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / doors_2 / shmpg355.zip / SHAMPAGE.DOC < prev    next >
Text File  |  1992-12-11  |  18KB  |  356 lines

  1.  
  2.                                                                  
  3.  This program compliments of:                      ╓┴╖           ╓┴╖
  4.                                                  / ║ ║           ║ ║ \
  5.    ╤╕           ╤╕       ╕         ╤╕╤╕╒╕       ┌─┬║┬║┬─┬─┬─┬─┬─┬║┬║┬─┐
  6.    ││           ││      │         │││││       ▀▀▀▀║▀║▀▀▀▀▀▀▀▀▀▀▀║▀║▀▀▀▀
  7.    ││ ╤╕ ╒╕ ╕ ╒ ╞╡ ╤╕ ╕ ╒╡ ╒╤ ╤╕   ╞╡╞╡╘╕          ╨ ╨           ╨ ╨
  8.    ││ │  ╒╡ │││ ││ │  │ ││ ││ ╞╛   ││││ │             FIDO 1:369/2
  9.    ╧╛ ╧  ╘╧ ╘╧╛ ╧╛ ╧  ╘ ╘╧ ╘╡ ╘╛   ╧╛╧╛╘╛          EchoNet 50:5305/2
  10.                             │                       OurNet 65:613/2
  11.      Fort Lauderdale, FL   ╘╛                        WDNet 3090.00
  12.    (305) 523-1717 *HST/DS*
  13.  
  14.  
  15.                                 SHAMpage v3.55
  16.                             (C) 1992 by Rich Waugh
  17.  
  18. Do you ALWAYS answer the page bell, even at 3am? If so, you must be a new
  19. SysOp - SHAMpage is not for you. If, on the other hand, you do occasionally
  20. disable the page function, you might enjoy this fun little door. It allows
  21. the caller to have a nice (or not-so-nice... it's totally up to you) chat
  22. with the SysOp - even when the SysOp is not around!
  23.  
  24. SHAMpage is similar to other "A.I." programs with which you may already be
  25. familiar, such as ELIZA or CHERI. But there is a bit more to SHAMpage than
  26. those programs. SHAMpage contains a routine to randomly vary the speed at
  27. which each letter is "typed", automatic "typo & correction" routine to make
  28. the program more believable, and SysOp-defined variables, as well as many
  29. sophisticated built-in communication I/O routines. All the delays are
  30. calculated, so the typing rate initially will vary on different machines,
  31. depending on the speed of the CPU, but they were written in a manner which
  32. allows you to configure the program to type at realistic speeds on virtually
  33. any machine (see line 8 of the sample configuration file below).
  34.  
  35. While "chatting", SHAMpage checks the caller's entry, each time he hits the
  36. [ENTER] key, for up to 100 "key" words (and up to five synonyms per key word)
  37. which you have previously defined. If the caller's entry contains a string
  38. matching any one of those words, an appropriate response (or even the
  39. contents of an entire text file) is returned. Otherwise a random response -
  40. again, your choice, is sent. All responses go through a typing routine which
  41. varies the speed at which each letter is typed and even makes (and sub-
  42. sequently corrects) an occasional "typo". The key words and related replies
  43. are contained in plain-vanilla ASCii data files which you are free to modify
  44. to suit your needs. The enclosed samples are well commented and should be
  45. self-explanatory. Do not be offended by the key words or replies, some of
  46. which are rather rude - please notice that the really nasty replies are sent
  47. only in response to a really nasty key word the caller has entered of his own
  48. volition.
  49.  
  50.  
  51. The following variables are available in your key word replies:
  52.  
  53. *USER*             - this will be replaced by the caller's first name.
  54.  
  55. *PASSWORD*         - replaced by caller's password.
  56.  
  57. *PHONE*            - replaced by caller's phone number.
  58.  
  59. *SECURITY*         - replaced by security level.
  60.  
  61. *TIMEENTERED*      - replaced by time the caller entered SHAMpage.
  62.  
  63. *TIME*             - replaced by the current time (in 12-hour format).
  64.  
  65. *KEYWORD*          - replaced by the word SHAMpage matched. This variable
  66.                      comes in several flavors. If it is all upper case, like
  67.                      the example on the left, the variable itself will be
  68.                      typed in all CAPS. *keyword* will be replaced by the
  69.                      variable in all lower case letters, and *Keyword* Will
  70.                      Have The First Letter Only Capitalized. Please see
  71.                      What's.New for further details.
  72.  
  73. *TIMEOFDAY*        - replaced by "morning", "afternoon" or "evening"
  74.                      depending on the actual time of day. The capitalization
  75.                      conventions of *KEYWORD* apply.
  76.  
  77. *FILE* [FileName]  - this tells SHAMpage to type the contents of the
  78.                      file [FileName].
  79.  
  80. *LF*               - wherever this occurs the line will be split, a line-feed
  81.                      sent, and the rest of the response typed on the
  82.                      following line.
  83.  
  84. *ALIAS*            - identifies a synonym for a key word.
  85.  
  86.           ┌───────────────────────────────────────────────────────┐
  87.           │ ADDITIONAL VARIABLES AVAILABLE ONLY IF USING DOOR.SYS │
  88.           └───────────────────────────────────────────────────────┘
  89.  
  90. The variables above work whether you are using DORINFOx.DEF or DOOR.SYS as
  91. your drop file. The following variables work ONLY if you use DOOR.SYS:
  92.  
  93. *BIRTHDATE*        - Caller's date of birth (00/00/00).
  94.  
  95. *DOWNLOADS*        - Caller's total downloads from your board.
  96.  
  97. *LASTCALLED*       - Date the caller last called.
  98.  
  99. *TIMESON*          - Number of times the caller has called your board.
  100.  
  101. *UPLOADS*          - Caller's total uploads to your board.
  102.  
  103.  
  104. All variables are enclosed in asterisks (*) and are always UPPER CASE (except
  105. *KEYWORD* and *TIMEOFDAY*, as noted above).
  106.  
  107. SHAMpage was originally conceived as a fun, humorous door and the included
  108. data file (the one I use) reflects that - it works great with 13 year-old's
  109. at two in the morning! However, since I released SHAMpage to the public, many
  110. SysOps have told me, to my surprise, that it is the perfect program to answer
  111. callers' questions in a quite serious and/or informative manner whenever the
  112. SysOp really isn't available (a use which, I must admit, never even crossed
  113. my mind when I began writing the code). If that is your intention also,
  114. simply edit SHAMpage.Dat. Hobby-oriented SysOps with a sense of humor as sick
  115. as mine can use the enclosed SHAMpage.Dat with few changes; if you intend to
  116. run SHAMpage on a business-type BBS, it will need a LOT of editing! How you
  117. use SHAMpage is up to you.
  118.  
  119.  ┌──────────────────────────────────────────────────────────────────────────┐
  120.  │  CAUTION! When you modify the data file, please remember that each KEY   │
  121.  │  WORD, including NOMATCH, is limited to a maximum of ten (10) replies.   │
  122.  │  Also, be absolutely certain you match the format of the example file.   │
  123.  │  Any variation will result in unpredictable and undesirable results. I   │
  124.  │  strongly recommend you run the included MAINTAIN utility every time     │
  125.  │  you edit your data file. MAINTAIN will check your data file for         │
  126.  │  grievous errors and, while it will catch some obvious errors in the     │
  127.  │  file, it is NOT intended as a replacement for your own care in editing! │
  128.  └──────────────────────────────────────────────────────────────────────────┘
  129.  
  130. SHAMpage runs on any BBS capable of generating a standard DorinfoX.Def or
  131. Door.Sys drop file. It is, in fact, currently running on Maximus, PCBoard,
  132. QuickBBS, Remote Access, Searchlight, Spitfire, Virtual BBS, and WildCat!
  133. boards that I am aware of. Features include DOS shelling, various timer
  134. functions (caller's time left, input-timer whenever remote input is expected,
  135. SysOp hot-keys to increase or decrease caller's time), carrier detection,
  136. FOSSIL support, non-standard IRQ support, CTS checking and more. You can
  137. check the caller's stats while the door is in operation. SHAMpage writes a
  138. log just in case you really WEREN'T around when you had that little chat with
  139. a caller <grin> as well as a separate file which logs errors, should they
  140. occur.
  141.  
  142. Perhaps most importantly, SHAMpage does include a page bell to notify you
  143. when you're being paged and you actually CAN pick up the page and chat with
  144. the caller while he is in the door. One of the benefits you will discover is
  145. that SHAMpage allows you to "screen" pages in much the same manner as people
  146. who own telephone answering machines often decide whether or not to pick up
  147. the phone only after hearing not only who is on the other end but also what
  148. he wants. Information about the caller appears at the bottom of the local
  149. screen: name, location, connect rate and (if using Door.Sys) age. If you
  150. choose not to chat with the caller, let SHAMpage do it! If you do want to
  151. chat, you can take live control at any time, transparently to the caller, by
  152. hitting [F7]. When you're finished, press [F8] and SHAMpage will resume the
  153. chat or press [F10] to return the caller to the BBS. The local screen (only)
  154. indicates whenever the chat is live. The caller is not charged for time while
  155. in live chat, so you will not be rudely interrupted in the middle of a live
  156. conversation by SHAMpage logging him off!
  157.  
  158. When the caller exits the door by typing G, Q, X, EXIT, BYE, QUIT or two
  159. consecutive empty lines (SHAMpage also terminates whenever it runs out of
  160. responses to any particular key word, including NOMATCH, as well as when the
  161. caller's time limit expires), he receives an, up to four line, exit message
  162. which explains the SysOp was unavailable and he was actually chatting with
  163. the computer (or whatever you choose to say). If he exits by dropping carrier
  164. - some people have NO sense of humor - he might not get that message <grin>,
  165. but the door notes the dropped carrier in the log and exits gracefully
  166. anyway.
  167.  
  168.                     ──────────────────────────────────────
  169.  
  170. Here's what's required to implement SHAMpage on your board:
  171.  
  172. Make a separate directory where you will run SHAMpage. Unzip all the files in
  173. the archive into this directory. Next, you must modify SHAMpage.Cfg to
  174. reflect the correct information for your board (see below). You will also
  175. want to edit SHAMpage.Dat (and Midnite.Dat, if you plan to use it) to replace
  176. occurrences of my name with yours and personalize some of the opening lines,
  177. key words and/or responses, etc.
  178.  
  179.      ┌──────────────────────────────────────────────────────────────────┐
  180.      │ IMPORTANT: Read What's.New to see various other configuration    │
  181.      │ and command-line options not documented here. This documentation │
  182.      │ DOES NOT include all the current features of SHAMpage.           │
  183.      └──────────────────────────────────────────────────────────────────┘
  184.  
  185. EXAMPLE SHAMpage.Cfg
  186.  
  187. DrawBridge BBS                 <── The name of your BBS.
  188. RICH                           <── SysOp's first name.
  189. WAUGH                          <── SysOp's last name.
  190. C:\Wc30\Wcwork\Node1\Door.Sys  <── Path to & name of Door.Sys (DorinfoX.Def).
  191. Split                          <── Split-screen chat mode (or Full).
  192. SHAMpage.Dat  <─────────────────┐  NOTE: Since remote cursor position is
  193. SHAMpage.Log  <───────────────┐ │  generated by ANSI code, if the caller has
  194. 1  <────────────────────────┐ │ │  his graphics setting turned off, SHAMpage
  195. 1  <──────────────────────┐ │ │ │  will default to full-screen chat, not
  196. 23:00  <─ Time to turn    │ │ │ │  split-screen. This is not a bug. It is
  197. 08:00  <┐   Page Bell OFF │ │ │ │  intended to run this way.
  198.         │                 │ │ │ └─ Name of the Key Word Data File.
  199.         └ Time to turn    │ │ └─── Name of the Log File to write.
  200.             Page Bell ON  │ └───── Delay factor - increase this number
  201.                           │        to slow down the typing speed, decrease
  202.     NOTE:                 │        it to speed up the typing. For example,
  203.     The last two lines    │        making this factor .5 will increase the
  204.     must be entered in    │        typing speed 100%, making it 2 will slow
  205.     military-style 24:00  │        it down 100%. Experiment with different
  206.     format.               │        values until you get a realistic typing
  207.                           │        speed for your machine. For your
  208.                           │        information, SHAMpage was written and
  209.                           │        tested on a 386/25DX machine and types
  210.                           │        just about right with this factor set at
  211.                           │        one (1). (Remember, it's SUPPOSED to
  212.                           │        emulate a real person typing - at realistic
  213.                           │        human speeds.)
  214.                           └─────── An integer specifying the type of
  215.                                    handshake you wish to use between the CPU
  216.                                    and modem. Valid numbers are:
  217.                                              0 = NO handshake
  218.                                              1 = XON/XOFF
  219.                                              2 = CTS/RTS
  220.                                              3 = XON/XOFF and CTS/RTS
  221.                                    If you don't know what to put here, make
  222.                                    it 0 or 1. CTS/RTS is for high-speed
  223.                                    modems.
  224.  
  225.                     ──────────────────────────────────────
  226.  
  227. Optional command-line switches:
  228.  
  229. FOSSIL  - Enable FOSSIL support. If you do not use a FOSSIL driver (such as
  230.           X00 or BNU) do not use this switch. See What's.New for more
  231.           information.
  232.  
  233. FULL    - Force SHAMpage into full-screen mode regardless of the user's
  234.           graphics settings.
  235.  
  236. IRQ=x   - Change the default IRQ to "x". See What's.New.
  237.  
  238. LOCAL   - Run SHAMpage in local mode, from the command line.
  239.  
  240. SPLIT   - Force SHAMpage into split-screen mode.
  241.  
  242. TIME=x  - Limits the caller to x% of his time-left in the door.
  243.  
  244.                     ──────────────────────────────────────
  245.  
  246. SHAMpage is run with the following syntax: SHAMpage SHAMpage.Cfg
  247.  
  248. EXAMPLE MainX.Bat (or DoorX.Bat):
  249.  
  250. @Echo Off
  251. Echo       * Paged sysop (SHAMpage) >> C:\Wc30\Activity.001
  252. Cd \Doors\SHAMpage
  253. SHAMpage SHAMpage.Cfg Fossil Time=80
  254.  
  255. For a quick demonstration, SHAMpage can be run from the command line by
  256. typing: SHAMpage SHAMpage.Cfg Local
  257.  
  258.                     ──────────────────────────────────────
  259.  
  260. This documentation is not intended to be a tutorial on door setup. If you've
  261. never set up a door before, please refer to your BBS documentation.
  262.  
  263. WILDCAT! SYSOPS: The example batch file will work only if you have WildCat!
  264. set to SHELL to doors (refer to your in the WildCat! manual - it's on page
  265. 221 in mine).
  266.  
  267.   ┌─────────────────────────────────────────────────────────────────────────┐
  268.   │                  OPTIONAL hints for WildCat! SysOps                     │
  269.   ├─────────────────────────────────────────────────────────────────────────┤
  270.   │ To make the caller believe he is really chatting with the SysOp, run    │
  271.   │ MAKEWILD. From the Main Menu Definition page, change the "Page the      │
  272.   │ SysOp" key to some letter other than P and assign it an access level of │
  273.   │ 1001 or higher, so nobody has access to it. Next, assign DOS Hook 1 or  │
  274.   │ DOS Hook 2 to key P. Then set up SHAMpage in MAINx.BAT. If you REALLY   │
  275.   │ want to fool the caller, run MKWCTEXT and change the "Preparing system  │
  276.   │ to run a door" prompt to "" (nothing).                                  │
  277.   └─────────────────────────────────────────────────────────────────────────┘
  278.  
  279.  
  280.                          FILES INCLUDED WITH SHAMpage
  281.  
  282.     READ.ME!      - IMPORTANT!!! Update information!!!
  283.     SHAMPAGE.CFG  - Example configuration file.
  284.     SHAMPAGE.DAT  - ASCii data file containing KEY WORDS and responses.
  285.     MIDNITE.DAT   - Alternative Data file for night-time use.
  286.     SHAMPAGE.DOC  - The file you're reading now.
  287.     SHAMPAGE.EXE  - The door itself.
  288.     SHAMPAGE.LOG  - A typical excerpt from my SHAMpage.Log.
  289.     MAINTAIN.DOC  - Instructions for the SHAMpage.Dat maintenance utility.
  290.     MAINTAIN.EXE  - SHAMpage.Dat maintenance utility.
  291.     MAIN1.BAT     - Example batch file to invoke SHAMpage.
  292.     SENDIT.ASC    - Example *FILE*.
  293.     WHAT'S.NEW    - Documentation of changes from release to release.
  294.     DESC.SDI      - Short program description.
  295.     FILE_ID.DIZ   - Longer program description.
  296.  
  297.                     ──────────────────────────────────────
  298.  
  299. SHAMpage is distributed as NoBitchWare. I'm not charging anything for it, so
  300. you are NOT entitled to bitch about it.
  301.  
  302. I, for one, am sick and tired of people who solicit money for the dumb little
  303. doors/utilities we all find so indispensable, so this one's a freebie. It is
  304. fully functional and contains no time bombs. I will attempt to keep the
  305. latest version always available for FREQ with the magic name SHAMpage.
  306. Significant updates are also hatched out into DDSDOORS, TDS and the WDNet
  307. (WCDOOR) as well as uploaded to the Cathouse.
  308.  
  309. If you find SHAMpage handy, give the DrawBridge a call and thank me. Better
  310. yet, send me your own customized SHAMpage.Dat file. I would appreciate
  311. anyone's "serious" data file. If it's good enough, I'll include it in future
  312. releases, with full credit to the author.
  313.  
  314. If you hate SHAMpage or don't think you got your money's worth, call the
  315. DrawBridge and page me... we'll discuss it. <grin>
  316.  
  317.                                   Rich Waugh
  318.  
  319.                     ──────────────────────────────────────
  320.  
  321.             FREE WildCat! 3.x doors/utilities from the DrawBridge
  322.  
  323.  
  324. BobCheck - Automatically send each new caller a personal "Welcome" message
  325.            after they pass BobCat verification. Requires BobCat and Postmstr.
  326.  
  327. CheckSec - Restrict access to any door or DOS hook based on the caller's AGE
  328.            or security level.
  329.  
  330. ChngMenu - Force callers to a new default WildCat! menu upon return from a
  331.            door.
  332.  
  333. CodeSet  - Reset users in Master Decoder door when they reach the end of the
  334.            data file.
  335.  
  336. MailChek - Check if last caller left any messages. (Don't bother with
  337.            WildMail SCAN if not.)
  338.  
  339. MailDoor - Run more than one mail door from the WildCat! Mail Hook.
  340.  
  341. Notify   - Run prior to or after a door to send the caller a special message.
  342.  
  343. PieSet   - Reset Piesplat door players automatically when somebody wins the
  344.            game.
  345.  
  346. QwkQuote - OLX compatible reply quote maker.
  347.  
  348. TickFix  - Change the file name extension in *.TIC's from LZH or ARJ to ZIP.
  349.            For those who convert LZH & ARJ files to ZIP before tossing.
  350.  
  351. SHAMpage - Answer ALL SysOp pages - whether you're around or not.
  352.  
  353. ScrbNtfy - Notify players it is their move in one or more Scrabble door games
  354.            via a personal message addressed to them. Requires Postmstr.
  355.  
  356.